b1b3aa54ada7c21fd2037b9807bd2b3c36e1d85b,photopickerdemo/src/main/java/me/iwf/PhotoPickerDemo/MainActivity.java,MainActivity,checkPermission,#RequestCode#,140

Before Change



      } else {

        ActivityCompat.requestPermissions(this,
                new String[]{Manifest.permission.READ_EXTERNAL_STORAGE},
                requestCode.ordinal());

      }
    } else {

After Change


  private void checkPermission(@NonNull RequestCode requestCode) {

    int readStoragePermissionState = ContextCompat.checkSelfPermission(this, Manifest.permission.READ_EXTERNAL_STORAGE);
    int cameraPermissionState = ContextCompat.checkSelfPermission(this, Manifest.permission.CAMERA);

    boolean readStoragePermissionGranted = readStoragePermissionState != PackageManager.PERMISSION_GRANTED;
    boolean cameraPermissionGranted = cameraPermissionState != PackageManager.PERMISSION_GRANTED;

    if (readStoragePermissionGranted || cameraPermissionGranted) {

      // Should we show an explanation?
      if (ActivityCompat.shouldShowRequestPermissionRationale(this,
          Manifest.permission.READ_EXTERNAL_STORAGE)
          || ActivityCompat.shouldShowRequestPermissionRationale(this,
          Manifest.permission.CAMERA)) {

        // Show an expanation to the user *asynchronously* -- don't block
        // this thread waiting for the user's response! After the user
        // sees the explanation, try again to request the permission.

      } else {
        String[] permissions;
        if (readStoragePermissionGranted && cameraPermissionGranted) {
          permissions = new String[]{Manifest.permission.READ_EXTERNAL_STORAGE, Manifest.permission.CAMERA };
        } else {
          permissions = new String[] {
              readStoragePermissionGranted ? Manifest.permission.READ_EXTERNAL_STORAGE
                  : Manifest.permission.CAMERA
          };
        }
        ActivityCompat.requestPermissions(this,
                permissions,
                requestCode.ordinal());
      }

    } else {